﻿namespace ScrumLite.Data
{
    using System;

    public interface IDeliverableStore
    {
        Deliverable[] GetDeliverables(string projectId);        
        Deliverable GetDeliverable(Guid id);

        Guid GetDeliverableByMoniker(string projectId, int moniker);
        Deliverable[] GetDeliverablesByWorkArea(WorkArea workArea);
        WorkArea[] GetWorkAreas(Guid idDeliverable);

        bool IsDefect(Guid idDeliverable);

        int RetrieveLastMoniker(string projectId);
        void Add(Deliverable deliverable);
        void Update(Deliverable deliverable);       
    }
}
